package com.example.demo.common.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @Description: 自动填充处理类
 * @Author Landiy
 * @Emali yylandiy@163.com
 * @Date 2021/6/1714:57
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    /**
     * 在执行myBatisPlus的insert()时,自动给字段填充值
     * 方法内:
     * 参数1:自动填充所对应的字段,
     * 参数2:自动填充的值,
     * 参数3:制定实体类的对象,
     * @param metaObject
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
    }

    /**
     * 在执行myBatisPlus的update()时,自动给字段填充值
     * @param metaObject
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
    }
}
